﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using MakeIT.MakeIT.Laundy.Agromotor.Site.Entidades;
using MakeIT.MakeIT.Laundy.Agromotor.Site.Negocios;
using System.Net.Mail;
using System.Net;
using MakeIT.Framework.Util;

namespace MakeIT.MakeIT.Laundy.Agromotor.Site.Apresentacao
{
    public partial class Contato : System.Web.UI.Page
    {
        string captcha = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            captcha = (string)this.Session["captcha"];

            if (!IsPostBack)
            {
                ParametroVO parametroVO = AgromotorsiteDAO.getParametro(null, "Contato.Email");
                this.LabelEmail.Text = parametroVO.valor;

                parametroVO = AgromotorsiteDAO.getParametro(null, "Contato.Chamada");
                this.LabelEmpresa.Text = parametroVO.valor;

                parametroVO = AgromotorsiteDAO.getParametro(null, "Contato.Fone");
                this.LabelFone.Text = parametroVO.valor;

                parametroVO = AgromotorsiteDAO.getParametro(null, "Contato.Endereco.1");
                this.LabelEndereco1.Text = parametroVO.valor;

                parametroVO = AgromotorsiteDAO.getParametro(null, "Contato.Endereco.2");
                this.LabelEndereco2.Text = parametroVO.valor;
            }
        }

        protected void ButtonEnviar_Click(object sender, EventArgs e)
        {
            try
            {
                string capt = this.TextBoxCaptcha.Text;

                if (capt.ToUpper().Trim().Equals(captcha))
                {
                    if (this.TextBoxMensagem.Text.Trim().Length > 0)
                    {
                        sendEmail();

                        this.ButtonEnviar.Visible = false;
                        this.PanelContato.Visible = false;
                        this.PanelOK.Visible = true;
                    }
                    else
                    {
                        this.LiteralMensagem.Text = "Mensagem não informada.";
                    }
                }
                else
                {
                    this.LiteralMensagem.Text = "Código de segurança incorreto.";
                }
            }
            catch (Exception ex)
            {
                Util.ExibeAlert(this.Page, "Mensagem não enviada! Verifique se seu email está digitado corretamente. "+ex.Message);
            }
        }

        protected void sendEmail()
        {
            MailMessage oEmail = new MailMessage();
            MailAddress sDe = new MailAddress(this.TextBoxMail.Text /*AgromotorsiteDAO.getParametro(null, "Email.Administrador").valor*/);

            oEmail.To.Add(AgromotorsiteDAO.getParametro(null,"Contato.Email").valor);
            oEmail.Sender = new MailAddress(AgromotorsiteDAO.getParametro(null, "Email.Administrador").valor);
            oEmail.From = new MailAddress(this.TextBoxMail.Text);
            oEmail.Priority = MailPriority.Normal;
            oEmail.IsBodyHtml = false;
            oEmail.Subject = "Contato de Cliente - Site www.agromotor.com.br";
            oEmail.Body = "Um usuário enviou esta mensagem pelo site www.agromotor.com.br:\n\n\n" +
                          "Nome: " + this.TextBoxNome.Text + "\n" +
                          "email: " + this.TextBoxMail.Text + "\n" +
                          "Fone: " + this.TextBoxFone.Text + "\n" +
                          "Endereço: " + this.TextBoxEndereco.Text + "\n" +
                          "Bairro: " + this.TextBoxBairro.Text + "\n" +
                          "CEP: " + this.TextBoxCEP.Text + "\n" +
                          "Assunto: " + this.TextBoxAssunto.Text + "\n\n" +
                          "Mensagem:\n[ " + this.TextBoxMensagem.Text + " ]\n\n" +
                          "*Este email foi enviado automaticamente pelo site em " + DateTime.Now.ToString();
            

            SmtpClient oEnviar = new SmtpClient();
            oEnviar.Host = AgromotorsiteDAO.getParametro(null,"Email.Host.SMTP").valor;
            oEnviar.Port = int.Parse(AgromotorsiteDAO.getParametro(null,"Email.Host.SMTP.Port").valor);
            oEnviar.EnableSsl = false;
            oEnviar.Credentials = new NetworkCredential(
                                            AgromotorsiteDAO.getParametro(null,"Email.Administrador").valor,
                                            AgromotorsiteDAO.getParametro(null, "Email.Administrador.Pass").valor);

            oEnviar.Send(oEmail);
            oEmail.Dispose();
        }
    }
}
